An Efficient Debugging Method for Message-based Parallel Programs using Static Analysis Information
نویسندگان
چکیده
Guaranteeiq reproducibility and minimizing probe effects are major issues in the parallel program debugging. This paper suggests a new debugging method, named Detect and Reproduce method, for messagebased parallel programs. The proposed method is designed to guarantee the reproducible behaviors of a target program and to alleviate probe effects by reducing both the number of the probes to be inserted into a program and the amount of information gathered by those probes. The proposed method achieves such effects by employing a static analysis technique t o detect nondeterm,inacy. By detecting nondeterminacy before running the program, only a small number of probes are required to assure reproducibility. To analyze messagebased programs statically, an MHB(Minima1 Happened Before) model is designed to catch the synch,ronization structures and algorithms have been developed to locate nondeterminacy based on the MHB model. Utilizing the analysis results, probes are inserted only into the places where nondeterminacy is likely to take place.
منابع مشابه
IDLI: An Interactive Message Debugger for Parallel Programs Using LAM-MPI
Many complex and computation intensive problems can be solved efficiently using parallel programs on a network of processors. One of the most widely used software platforms for such cluster computing is LAMMPI. To aid development of robust parallel programs using LAM-MPI we need efficient debugging tools. However, the challenges in debugging parallel programs are unique and different from those...
متن کاملAn Efficient Logical Clock for Replaying Message-Passing Programs
Cyclic debugging is one of the most important and most commonly used activities in programs development. During cyclic debugging, the program is repeatedly re-executed to track down errors when a failure has been observed. The cyclic debugging approach often fails for parallel programs because parallel programs reveal nondeterministic characteristics due to message race conditions. Execution re...
متن کاملStatic Approximation of MPI Communication Graphs for Optimized Process Placement
Message Passing Interface (MPI) is the de facto standard for programming large scale parallel programs. Static understanding of MPI programs informs optimizations including process placement and communication/computation overlap, and debugging. In this paper, we present a fully context and flow sensitive, interprocedural, best-e↵ort analysis framework to statically analyze MPI programs. We inst...
متن کاملProgram Flow Graph Construction For Static Analysis of MPI Programs
The Message Passing Interface (MPI) has been widely used to develop e cient and portable parallel programs for distributed memory multiprocessors and workstation/PC clusters. In this paper, we present an algorithm for building a program ow graph representation of an MPI program. As an extension of the control ow graph representation of sequential codes, this representation provides a basis for ...
متن کاملThe Performance of Two Tracing and Replay Algorithms for Message-Passing Parallel Programs
Debugging parallel message-passing programs is complicated by the non-determinism that is inherent in those programs. Cyclical debugging, which is a proven method for sequential programs, often fails when debugging parallel programs because different executions of the same program may exhibit different behaviors due to non-determinism. Some approaches have been studied to remedy this problem. W...
متن کامل